

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0361 */
/* Compiler settings for brdispp.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __brdispp_h__
#define __brdispp_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IMediaBehavior_FWD_DEFINED__
#define __IMediaBehavior_FWD_DEFINED__
typedef interface IMediaBehavior IMediaBehavior;
#endif 	/* __IMediaBehavior_FWD_DEFINED__ */


#ifndef __IMediaItem_FWD_DEFINED__
#define __IMediaItem_FWD_DEFINED__
typedef interface IMediaItem IMediaItem;
#endif 	/* __IMediaItem_FWD_DEFINED__ */


#ifndef __IPlaylistInfo_FWD_DEFINED__
#define __IPlaylistInfo_FWD_DEFINED__
typedef interface IPlaylistInfo IPlaylistInfo;
#endif 	/* __IPlaylistInfo_FWD_DEFINED__ */


#ifndef __IMediaHost_FWD_DEFINED__
#define __IMediaHost_FWD_DEFINED__
typedef interface IMediaHost IMediaHost;
#endif 	/* __IMediaHost_FWD_DEFINED__ */


#ifndef __IContentProxy_FWD_DEFINED__
#define __IContentProxy_FWD_DEFINED__
typedef interface IContentProxy IContentProxy;
#endif 	/* __IContentProxy_FWD_DEFINED__ */


#ifndef ___mbEvents_FWD_DEFINED__
#define ___mbEvents_FWD_DEFINED__
typedef interface _mbEvents _mbEvents;
#endif 	/* ___mbEvents_FWD_DEFINED__ */


#ifndef __MediaBehavior_FWD_DEFINED__
#define __MediaBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class MediaBehavior MediaBehavior;
#else
typedef struct MediaBehavior MediaBehavior;
#endif /* __cplusplus */

#endif 	/* __MediaBehavior_FWD_DEFINED__ */


#ifndef __MediaItem_FWD_DEFINED__
#define __MediaItem_FWD_DEFINED__

#ifdef __cplusplus
typedef class MediaItem MediaItem;
#else
typedef struct MediaItem MediaItem;
#endif /* __cplusplus */

#endif 	/* __MediaItem_FWD_DEFINED__ */


#ifndef __PlaylistInfo_FWD_DEFINED__
#define __PlaylistInfo_FWD_DEFINED__

#ifdef __cplusplus
typedef class PlaylistInfo PlaylistInfo;
#else
typedef struct PlaylistInfo PlaylistInfo;
#endif /* __cplusplus */

#endif 	/* __PlaylistInfo_FWD_DEFINED__ */


/* header files for imported files */
#include "ocidl.h"
#include "docobj.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_brdispp_0000 */
/* [local] */ 




typedef /* [public][helpstring] */ 
enum mbOpenState
    {	mbosUndefined	= 0,
	mbosPlaylistChanging	= mbosUndefined + 1,
	mbosPlaylistLocating	= mbosPlaylistChanging + 1,
	mbosPlaylistConnecting	= mbosPlaylistLocating + 1,
	mbosPlaylistLoading	= mbosPlaylistConnecting + 1,
	mbosPlaylistOpening	= mbosPlaylistLoading + 1,
	mbosPlaylistOpenNoMedia	= mbosPlaylistOpening + 1,
	mbosPlaylistChanged	= mbosPlaylistOpenNoMedia + 1,
	mbosMediaChanging	= mbosPlaylistChanged + 1,
	mbosMediaLocating	= mbosMediaChanging + 1,
	mbosMediaConnecting	= mbosMediaLocating + 1,
	mbosMediaLoading	= mbosMediaConnecting + 1,
	mbosMediaOpening	= mbosMediaLoading + 1,
	mbosMediaOpen	= mbosMediaOpening + 1,
	mbosBeginCodecAcquisition	= mbosMediaOpen + 1,
	mbosEndCodecAcquisition	= mbosBeginCodecAcquisition + 1,
	mbosBeginLicenseAcquisition	= mbosEndCodecAcquisition + 1,
	mbosEndLicenseAcquisition	= mbosBeginLicenseAcquisition + 1,
	mbosBeginIndividualization	= mbosEndLicenseAcquisition + 1,
	mbosEndIndividualization	= mbosBeginIndividualization + 1,
	mbosMediaWaiting	= mbosEndIndividualization + 1,
	mbosOpeningUnknownURL	= mbosMediaWaiting + 1
    } 	mbOpenState;

typedef /* [public][helpstring] */ 
enum mbPlayState
    {	mbpsUndefined	= 0,
	mbpsStopped	= mbpsUndefined + 1,
	mbpsPaused	= mbpsStopped + 1,
	mbpsPlaying	= mbpsPaused + 1,
	mbpsScanForward	= mbpsPlaying + 1,
	mbpsScanReverse	= mbpsScanForward + 1,
	mbpsBuffering	= mbpsScanReverse + 1,
	mbpsWaiting	= mbpsBuffering + 1,
	mbpsMediaEnded	= mbpsWaiting + 1,
	mbpsTransitioning	= mbpsMediaEnded + 1,
	mbpsReady	= mbpsTransitioning + 1
    } 	mbPlayState;



extern RPC_IF_HANDLE __MIDL_itf_brdispp_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_brdispp_0000_v0_0_s_ifspec;

#ifndef __IMediaBehavior_INTERFACE_DEFINED__
#define __IMediaBehavior_INTERFACE_DEFINED__

/* interface IMediaBehavior */
/* [object][unique][dual][helpstring][uuid] */ 


EXTERN_C const IID IID_IMediaBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BB24BBE0-1EEC-422b-A397-EDBC31FB3A56")
    IMediaBehavior : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE playURL( 
            BSTR bstrURL,
            BSTR bstrMIME) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE playNext( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentItem( 
            /* [retval][out] */ IMediaItem **ppMediaItem) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_nextItem( 
            /* [retval][out] */ IMediaItem **ppMediaItem) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playlistInfo( 
            /* [retval][out] */ IPlaylistInfo **ppPlaylistInfo) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_hasNextItem( 
            /* [retval][out] */ VARIANT_BOOL *pfhasNext) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playState( 
            /* [retval][out] */ mbPlayState *pps) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_openState( 
            /* [retval][out] */ mbOpenState *pos) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL bEnable) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_disabledUI( 
            /* [retval][out] */ VARIANT_BOOL *pbDisabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_disabledUI( 
            /* [in] */ VARIANT_BOOL bDisable) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMediaBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediaBehavior * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediaBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediaBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediaBehavior * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediaBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediaBehavior * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediaBehavior * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *playURL )( 
            IMediaBehavior * This,
            BSTR bstrURL,
            BSTR bstrMIME);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *stop )( 
            IMediaBehavior * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *playNext )( 
            IMediaBehavior * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentItem )( 
            IMediaBehavior * This,
            /* [retval][out] */ IMediaItem **ppMediaItem);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_nextItem )( 
            IMediaBehavior * This,
            /* [retval][out] */ IMediaItem **ppMediaItem);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistInfo )( 
            IMediaBehavior * This,
            /* [retval][out] */ IPlaylistInfo **ppPlaylistInfo);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_hasNextItem )( 
            IMediaBehavior * This,
            /* [retval][out] */ VARIANT_BOOL *pfhasNext);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IMediaBehavior * This,
            /* [retval][out] */ mbPlayState *pps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IMediaBehavior * This,
            /* [retval][out] */ mbOpenState *pos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IMediaBehavior * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IMediaBehavior * This,
            /* [in] */ VARIANT_BOOL bEnable);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_disabledUI )( 
            IMediaBehavior * This,
            /* [retval][out] */ VARIANT_BOOL *pbDisabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_disabledUI )( 
            IMediaBehavior * This,
            /* [in] */ VARIANT_BOOL bDisable);
        
        END_INTERFACE
    } IMediaBehaviorVtbl;

    interface IMediaBehavior
    {
        CONST_VTBL struct IMediaBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMediaBehavior_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMediaBehavior_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMediaBehavior_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMediaBehavior_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMediaBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMediaBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMediaBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMediaBehavior_playURL(This,bstrURL,bstrMIME)	\
    (This)->lpVtbl -> playURL(This,bstrURL,bstrMIME)

#define IMediaBehavior_stop(This)	\
    (This)->lpVtbl -> stop(This)

#define IMediaBehavior_playNext(This)	\
    (This)->lpVtbl -> playNext(This)

#define IMediaBehavior_get_currentItem(This,ppMediaItem)	\
    (This)->lpVtbl -> get_currentItem(This,ppMediaItem)

#define IMediaBehavior_get_nextItem(This,ppMediaItem)	\
    (This)->lpVtbl -> get_nextItem(This,ppMediaItem)

#define IMediaBehavior_get_playlistInfo(This,ppPlaylistInfo)	\
    (This)->lpVtbl -> get_playlistInfo(This,ppPlaylistInfo)

#define IMediaBehavior_get_hasNextItem(This,pfhasNext)	\
    (This)->lpVtbl -> get_hasNextItem(This,pfhasNext)

#define IMediaBehavior_get_playState(This,pps)	\
    (This)->lpVtbl -> get_playState(This,pps)

#define IMediaBehavior_get_openState(This,pos)	\
    (This)->lpVtbl -> get_openState(This,pos)

#define IMediaBehavior_get_enabled(This,pbEnabled)	\
    (This)->lpVtbl -> get_enabled(This,pbEnabled)

#define IMediaBehavior_put_enabled(This,bEnable)	\
    (This)->lpVtbl -> put_enabled(This,bEnable)

#define IMediaBehavior_get_disabledUI(This,pbDisabled)	\
    (This)->lpVtbl -> get_disabledUI(This,pbDisabled)

#define IMediaBehavior_put_disabledUI(This,bDisable)	\
    (This)->lpVtbl -> put_disabledUI(This,bDisable)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_playURL_Proxy( 
    IMediaBehavior * This,
    BSTR bstrURL,
    BSTR bstrMIME);


void __RPC_STUB IMediaBehavior_playURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_stop_Proxy( 
    IMediaBehavior * This);


void __RPC_STUB IMediaBehavior_stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_playNext_Proxy( 
    IMediaBehavior * This);


void __RPC_STUB IMediaBehavior_playNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_currentItem_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ IMediaItem **ppMediaItem);


void __RPC_STUB IMediaBehavior_get_currentItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_nextItem_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ IMediaItem **ppMediaItem);


void __RPC_STUB IMediaBehavior_get_nextItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_playlistInfo_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ IPlaylistInfo **ppPlaylistInfo);


void __RPC_STUB IMediaBehavior_get_playlistInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_hasNextItem_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ VARIANT_BOOL *pfhasNext);


void __RPC_STUB IMediaBehavior_get_hasNextItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_playState_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ mbPlayState *pps);


void __RPC_STUB IMediaBehavior_get_playState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_openState_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ mbOpenState *pos);


void __RPC_STUB IMediaBehavior_get_openState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_enabled_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IMediaBehavior_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_put_enabled_Proxy( 
    IMediaBehavior * This,
    /* [in] */ VARIANT_BOOL bEnable);


void __RPC_STUB IMediaBehavior_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_get_disabledUI_Proxy( 
    IMediaBehavior * This,
    /* [retval][out] */ VARIANT_BOOL *pbDisabled);


void __RPC_STUB IMediaBehavior_get_disabledUI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IMediaBehavior_put_disabledUI_Proxy( 
    IMediaBehavior * This,
    /* [in] */ VARIANT_BOOL bDisable);


void __RPC_STUB IMediaBehavior_put_disabledUI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMediaBehavior_INTERFACE_DEFINED__ */


#ifndef __IMediaItem_INTERFACE_DEFINED__
#define __IMediaItem_INTERFACE_DEFINED__

/* interface IMediaItem */
/* [object][unique][dual][helpstring][uuid] */ 


EXTERN_C const IID IID_IMediaItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BB24BBE1-1EEC-422b-A397-EDBC31FB3A56")
    IMediaItem : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_sourceURL( 
            /* [retval][out] */ BSTR *pbstrSourceURL) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_duration( 
            /* [retval][out] */ double *pDuration) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_attributeCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAttributeName( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getItemInfo( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMediaItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediaItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediaItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediaItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediaItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediaItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediaItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediaItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_sourceURL )( 
            IMediaItem * This,
            /* [retval][out] */ BSTR *pbstrSourceURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IMediaItem * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_duration )( 
            IMediaItem * This,
            /* [retval][out] */ double *pDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IMediaItem * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeName )( 
            IMediaItem * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IMediaItem * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        END_INTERFACE
    } IMediaItemVtbl;

    interface IMediaItem
    {
        CONST_VTBL struct IMediaItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMediaItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMediaItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMediaItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMediaItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IMediaItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IMediaItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IMediaItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IMediaItem_get_sourceURL(This,pbstrSourceURL)	\
    (This)->lpVtbl -> get_sourceURL(This,pbstrSourceURL)

#define IMediaItem_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IMediaItem_get_duration(This,pDuration)	\
    (This)->lpVtbl -> get_duration(This,pDuration)

#define IMediaItem_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IMediaItem_getAttributeName(This,lIndex,pbstrItemName)	\
    (This)->lpVtbl -> getAttributeName(This,lIndex,pbstrItemName)

#define IMediaItem_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_get_sourceURL_Proxy( 
    IMediaItem * This,
    /* [retval][out] */ BSTR *pbstrSourceURL);


void __RPC_STUB IMediaItem_get_sourceURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_get_name_Proxy( 
    IMediaItem * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IMediaItem_get_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_get_duration_Proxy( 
    IMediaItem * This,
    /* [retval][out] */ double *pDuration);


void __RPC_STUB IMediaItem_get_duration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_get_attributeCount_Proxy( 
    IMediaItem * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IMediaItem_get_attributeCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_getAttributeName_Proxy( 
    IMediaItem * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrItemName);


void __RPC_STUB IMediaItem_getAttributeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMediaItem_getItemInfo_Proxy( 
    IMediaItem * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IMediaItem_getItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMediaItem_INTERFACE_DEFINED__ */


#ifndef __IPlaylistInfo_INTERFACE_DEFINED__
#define __IPlaylistInfo_INTERFACE_DEFINED__

/* interface IPlaylistInfo */
/* [object][unique][dual][helpstring][uuid] */ 


EXTERN_C const IID IID_IPlaylistInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BB24BBE2-1EEC-422b-A397-EDBC31FB3A56")
    IPlaylistInfo : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_attributeCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAttributeName( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getItemInfo( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaylistInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPlaylistInfo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPlaylistInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPlaylistInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPlaylistInfo * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPlaylistInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPlaylistInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPlaylistInfo * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IPlaylistInfo * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IPlaylistInfo * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeName )( 
            IPlaylistInfo * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IPlaylistInfo * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        END_INTERFACE
    } IPlaylistInfoVtbl;

    interface IPlaylistInfo
    {
        CONST_VTBL struct IPlaylistInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPlaylistInfo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPlaylistInfo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPlaylistInfo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPlaylistInfo_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IPlaylistInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IPlaylistInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IPlaylistInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IPlaylistInfo_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IPlaylistInfo_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IPlaylistInfo_getAttributeName(This,lIndex,pbstrItemName)	\
    (This)->lpVtbl -> getAttributeName(This,lIndex,pbstrItemName)

#define IPlaylistInfo_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IPlaylistInfo_get_name_Proxy( 
    IPlaylistInfo * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IPlaylistInfo_get_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IPlaylistInfo_get_attributeCount_Proxy( 
    IPlaylistInfo * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IPlaylistInfo_get_attributeCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPlaylistInfo_getAttributeName_Proxy( 
    IPlaylistInfo * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrItemName);


void __RPC_STUB IPlaylistInfo_getAttributeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPlaylistInfo_getItemInfo_Proxy( 
    IPlaylistInfo * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IPlaylistInfo_getItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPlaylistInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_brdispp_0272 */
/* [local] */ 


enum contentProxyEvent
    {	OnOpenStateChange	= 0,
	OnPlayStateChange	= OnOpenStateChange + 1,
	OnShow	= OnPlayStateChange + 1,
	OnHide	= OnShow + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_brdispp_0272_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_brdispp_0272_v0_0_s_ifspec;

#ifndef __IMediaHost_INTERFACE_DEFINED__
#define __IMediaHost_INTERFACE_DEFINED__

/* interface IMediaHost */
/* [object][unique][helpstring][uuid] */ 


EXTERN_C const IID IID_IMediaHost;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF508010-C806-4356-8492-D15E616F6F37")
    IMediaHost : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE getMediaPlayer( 
            IUnknown **ppPlayer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE playURL( 
            BSTR bstrURL,
            BSTR bstrMIME) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE addProxy( 
            IUnknown *pProxy) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE removeProxy( 
            IUnknown *pProxy) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMediaHostVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediaHost * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediaHost * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediaHost * This);
        
        HRESULT ( STDMETHODCALLTYPE *getMediaPlayer )( 
            IMediaHost * This,
            IUnknown **ppPlayer);
        
        HRESULT ( STDMETHODCALLTYPE *playURL )( 
            IMediaHost * This,
            BSTR bstrURL,
            BSTR bstrMIME);
        
        HRESULT ( STDMETHODCALLTYPE *addProxy )( 
            IMediaHost * This,
            IUnknown *pProxy);
        
        HRESULT ( STDMETHODCALLTYPE *removeProxy )( 
            IMediaHost * This,
            IUnknown *pProxy);
        
        END_INTERFACE
    } IMediaHostVtbl;

    interface IMediaHost
    {
        CONST_VTBL struct IMediaHostVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMediaHost_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMediaHost_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMediaHost_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMediaHost_getMediaPlayer(This,ppPlayer)	\
    (This)->lpVtbl -> getMediaPlayer(This,ppPlayer)

#define IMediaHost_playURL(This,bstrURL,bstrMIME)	\
    (This)->lpVtbl -> playURL(This,bstrURL,bstrMIME)

#define IMediaHost_addProxy(This,pProxy)	\
    (This)->lpVtbl -> addProxy(This,pProxy)

#define IMediaHost_removeProxy(This,pProxy)	\
    (This)->lpVtbl -> removeProxy(This,pProxy)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IMediaHost_getMediaPlayer_Proxy( 
    IMediaHost * This,
    IUnknown **ppPlayer);


void __RPC_STUB IMediaHost_getMediaPlayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IMediaHost_playURL_Proxy( 
    IMediaHost * This,
    BSTR bstrURL,
    BSTR bstrMIME);


void __RPC_STUB IMediaHost_playURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IMediaHost_addProxy_Proxy( 
    IMediaHost * This,
    IUnknown *pProxy);


void __RPC_STUB IMediaHost_addProxy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IMediaHost_removeProxy_Proxy( 
    IMediaHost * This,
    IUnknown *pProxy);


void __RPC_STUB IMediaHost_removeProxy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMediaHost_INTERFACE_DEFINED__ */


#ifndef __IContentProxy_INTERFACE_DEFINED__
#define __IContentProxy_INTERFACE_DEFINED__

/* interface IContentProxy */
/* [object][unique][helpstring][uuid] */ 


EXTERN_C const IID IID_IContentProxy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF508011-C806-4356-8492-D15E616F6F37")
    IContentProxy : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnCreatedPlayer( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE fireEvent( 
            enum contentProxyEvent event) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE detachPlayer( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IContentProxyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IContentProxy * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IContentProxy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IContentProxy * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnCreatedPlayer )( 
            IContentProxy * This);
        
        HRESULT ( STDMETHODCALLTYPE *fireEvent )( 
            IContentProxy * This,
            enum contentProxyEvent event);
        
        HRESULT ( STDMETHODCALLTYPE *detachPlayer )( 
            IContentProxy * This);
        
        END_INTERFACE
    } IContentProxyVtbl;

    interface IContentProxy
    {
        CONST_VTBL struct IContentProxyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IContentProxy_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IContentProxy_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IContentProxy_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IContentProxy_OnCreatedPlayer(This)	\
    (This)->lpVtbl -> OnCreatedPlayer(This)

#define IContentProxy_fireEvent(This,event)	\
    (This)->lpVtbl -> fireEvent(This,event)

#define IContentProxy_detachPlayer(This)	\
    (This)->lpVtbl -> detachPlayer(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IContentProxy_OnCreatedPlayer_Proxy( 
    IContentProxy * This);


void __RPC_STUB IContentProxy_OnCreatedPlayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IContentProxy_fireEvent_Proxy( 
    IContentProxy * This,
    enum contentProxyEvent event);


void __RPC_STUB IContentProxy_fireEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IContentProxy_detachPlayer_Proxy( 
    IContentProxy * This);


void __RPC_STUB IContentProxy_detachPlayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IContentProxy_INTERFACE_DEFINED__ */



#ifndef __BrowseUI_LIBRARY_DEFINED__
#define __BrowseUI_LIBRARY_DEFINED__

/* library BrowseUI */
/* [helpstring][lcid][version][uuid] */ 


EXTERN_C const IID LIBID_BrowseUI;

#ifndef ___mbEvents_DISPINTERFACE_DEFINED__
#define ___mbEvents_DISPINTERFACE_DEFINED__

/* dispinterface _mbEvents */
/* [hidden][helpstring][uuid] */ 


EXTERN_C const IID DIID__mbEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("BB24BBEF-1EEC-422b-A397-EDBC31FB3A56")
    _mbEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _mbEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _mbEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _mbEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _mbEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _mbEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _mbEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _mbEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _mbEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _mbEventsVtbl;

    interface _mbEvents
    {
        CONST_VTBL struct _mbEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _mbEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _mbEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _mbEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _mbEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _mbEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _mbEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _mbEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___mbEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MediaBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("BB24BBFF-1EEC-422b-A397-EDBC31FB3A56")
MediaBehavior;
#endif

EXTERN_C const CLSID CLSID_MediaItem;

#ifdef __cplusplus

class DECLSPEC_UUID("BB24BBFE-1EEC-422b-A397-EDBC31FB3A56")
MediaItem;
#endif

EXTERN_C const CLSID CLSID_PlaylistInfo;

#ifdef __cplusplus

class DECLSPEC_UUID("BB24BBFD-1EEC-422b-A397-EDBC31FB3A56")
PlaylistInfo;
#endif
#endif /* __BrowseUI_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


